Ext.define("jwawa.erp.framework.ShellHandler", {
    mixins: {
//        observable: 'Ext.util.Observable',
        handlerUtil: 'jwawa.erp.framework.HandlerUtil'
    },
    resources: null,
    ref:{},
    entities: null,
    constructor: function(params){
        var me = this;

        Ext.apply(me, params);
        me.initResource();
        me.initEflMapping();

//        if (!me.hasListeners) {
//            me.hasListeners = new me.HasListeners();
//        }
//        me.mixins.observable.constructor.call(me);
    },

    beforeBindHandler: function(){
        "use strict";
        var me = this,
            view = me.view,
            ref = me.ref;

        me.initRef(view, ref);
        me.view.addListener('pageStateChange', me.onPageStateChange, me);
        me.view.addListener('containerClose', me.onContainerClose, me);
        me.view.addListener('destory', me.onViewDestory, me);
    },

    bindHandler: function() {},
    afterBindHandler: function(){},
    beforeInitComponent: function() {},
    afterInitComponent: function() {},
    onPageStateChange: function(obj, newState, oldState){},
    onContainerClose: function(ct){},
    onViewDestory: function(){}
});